package main

import (
	"fmt"
	"os"
	"os/signal"
	"producter_consumer/one_one"
	"producter_consumer/out"
	"syscall"
)

// BaseUserOut 基础调用调试查看 out
func BaseUserOut() {
	fmt.Println("学习了解生产者和消费者")

	// 拿到 out 里面的对象
	o := out.NewOut()
	// 使用异步协程输出
	go o.OutPut()

	out.Println("ABCDEFG")
	out.Println("ABCDEFG")
	out.Println("ABCDEFG")
	out.Println("ABCDEFG")
	out.Println("ABCDEFG")
	out.Println("ABCDEFG")

	// 设置一个监听信号
	sig := make(chan os.Signal)
	signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM)
	<-sig
}

// OneConsumperOnePro 一对一的生产者和消费者运行情况
func OneConsumperOnePro() {
	// 拿到 out 里面的对象
	o := out.NewOut()
	// 使用异步协程输出
	go o.OutPut()

	//one_one.Exec()
	one_one.ExecWg()

	// 设置一个监听信号
	sig := make(chan os.Signal)
	signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM)
	<-sig
}
